\frameforsection[t]{
  \renewcommand\currentblocktitle{\hypertarget{3_1}{多路选择器功能概述及应用场景}}
  \outonlyblock{
    \twocolumns[.45]{
      \begin{itemize}
	\item $k(k\ge 1)$位$n$选1多路选择器的功能\\
	  输入：$a_m(m=0,1,\ldots,n-1)$(位宽为k)、选择信号$s$(可以为独热信号或二进制信号,若为独热信号，则位宽为$n$，这里假设为独热信号)\\
	  输出：$b$(位宽为$k$)\\
	  功能：若$s_i$为有效信号,则从输入中选取信号$a_i$,使$b=a_i$
      \end{itemize}
    }{
      \outfigure{.8}{多路选择器原理图符号.pdf}
      [\zihao{6}选择信号常采用独热编码，也可为二进制编码(此时:s的位宽为L,且$2^L\ge n$)]
    }[c]
  }
  \outonlyblock{
    \twocolumns[.45]{
      \begin{itemize}
	\item 应用场景
	  \begin{enumerate}
	    \item ALU输入端通过多路选择器选择待运算的数据源
	    \item ALU输出端连接到RAM地址线的多路选择器，在每个周期为RAM提供内存地址
	  \end{enumerate}
      \end{itemize}
    }{
      \outfigure{.8}{多路选择器原理图符号.pdf}
      [\zihao{6}选择信号常采用独热编码，也可为二进制编码(此时:s的位宽为L,且$2^L\ge n$)]
    }[c]
  }
  \renewcommand\currentblocktitle{\hypertarget{3_2}{多路选择器的两种实现方式}}
  \outonlyblock{
    \vspace{-2ex}
    \twocolumns{
      \begin{itemize}
	\item 方式1：与门+或门
	  \outfigure{.5}{多路选择器实现方式1.pdf}
      \end{itemize}
    }{
      \begin{itemize}
	\item 方式2：使用三态缓冲器
	  \outfigure{.3}{多路选择器实现方式2.pdf}
      \end{itemize}
    }
    \begin{itemize}
      \item 比较：三态缓冲器的实现方式在布线上比较容易，每一路靠近对应的三态缓冲器，而与门-或门实现则由于或门输入线集中，布线面临较高的挑战
    \end{itemize}
  }
  \renewcommand\currentblocktitle{\hypertarget{3_3}{多路选择器的Verilog实现}}
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 以任意位宽的3选1多路选择器为例
	\item 其Verilog实现源码如右所示
	\item 核心代码\\
	  把选择信号的每一位都复制k次
      \end{itemize}
    }{
      \outfigure{.8}{k位3选一数据选择器.png}
      [使用assign语句实现]
    }[c]
  }
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 以任意位宽的3选1多路选择器为例
	\item 其Verilog实现源码如右所示
	\item 核心代码\\
	  case语句:可读性比assign更好
      \end{itemize}
    }{
      \outfigure{.7}{k位3选一数据选择器1.png}
      [使用case语句实现]
    }[c]
  }
  \renewcommand\currentblocktitle{\hypertarget{3_4}{如何实现选择线码为二进制码的多路选择器}}
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 将二进制码通过译码器转换为独热码，利用先前的独热码选择器实现多路选择器
	\item 上述方式并非效率高
	\item 完全可以采用行为描述来实现选择线为二进制码的多路选择器
      \end{itemize}
    }{
      \outfigure{.7}{选择线编码为二进制码的多路选择器实现.png}
    }[c]
  }
  \renewcommand\currentblocktitle{\hypertarget{3_5}{使用多个小型独热码多路选择器构造大型独热码多路选择器}}
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 若干小型独热码多路选择器的输出接到一个或门上就可以实现更大的多路选择器
	\item \alert{Q}:请用3选1独热码多路选择器构造出6选1独热码多路选择器
      \end{itemize}
    }{
      \outfigure{.8}{使用小型独热码构成大型独热码多路选择器.png}
    }[c]
  }
  \renewcommand\currentblocktitle{\hypertarget{3_6}{使用多个小型二进制码多路选择器构造大型二进制码多路选择器}}
  \outonlyblock{
    \vspace{-2ex}
    \twocolumns[.7]{
      \begin{itemize}
	\item 通过树形结构可以将若干小型二进制码多路选择器组合起来，实现大型二进制多路选择器
	\item 例如：4个二进制码4选1多路选择器输出送到1个二进制码4选1数据选择器，可以构成二进制码16选1数据选择器
	\item 与独热码选择器相比，哪怕是1个选择位发生变化，都会是4个多路选择器输出发生变化，故更消耗能量
      \end{itemize}
    }{
      \outfigure{.9}{小型2进制选择器构成大型2进制选择器.pdf}
    }[c]
  }
}
